/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pers.sakurasora.lesson.dao;

import org.apache.ibatis.annotations.Insert;
import pers.sakurasora.lesson.entity.BizOrderDetail;

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 * 使用Mybatis的时候，Mybatis根据数据库的字段（查询出来的字段名）找到对应实体类的属性，通过set方法对属性进行注入                                                                                         *
 *                                                                                                                                                                                                       *
 * 注解配置select,当实体属性与数据库表中的字段不匹配时:                                                                                                                                                  *
 *      1. （如实体类属性名:userName,数据库字段名:name,则：）select name as user_name from 表名;                                                                                                         *
 *      2. （如实体类属性名:id,userName,数据库字段名:id,name,则：）@Results({@Result(id=true,property="id",column="id"),@Result(property="name",column="user_name")}) --(id=true|false ：表示是否为主键) *
 *                                                                                                                                                                                                       *
 * 当我们需要马上获取添加的数据的主键值时（主键是一个字段增长列）：                                                                                                                                      *
 *      @SelectKey(statement = "SELECT LAST_INSERT_ID()",keyProperty = "id",before = false,resultType = Integer.class)                                                                                   *
 *      statement：表示执行的命令； keyProperty：表示数据存放的属性(实体类中的)；   before：表示执行前获取还是执行后获取；  resultType：返回的数据类型                                                   * 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/**
 * @author SakuraSora
 * @Email 1468071675@qq.com
 * @DateTime 2018-11-5 9:05:01
 *
 * @Description
 *              DAO层接口--订单明细表
 */
public interface OrderDetailDao {

    /**
     * 插入订单明细
     * @param detail
     *              订单明细表对象
     * @return 
     *          影响的行数
     */
    @Insert("insert into biz_order_detail(ORDER_ID,PRODUCT_ID,QUANTITY) VALUES(#{orderId},#{productId},#{quantity})")
    int insert(BizOrderDetail detail);
}
